{ "cells": [ { "cell_type": "markdown", "id": "ed5ab587", "metadata": {}, "source": [ "# Governing Equations\n", "**강좌**: *기초 전산유체역학*" ] }, { "cell_type": "markdown", "id": "fb91fe4b", "metadata": {}, "source": [ "## 유동 지배방정식\n", "역학은 3개의 보전 방정식을 다룬다.\n", "\n", "- 질량 보전 ($dm=0$)\n", "\n", "- 운동량 보전 ($F=ma$)\n", "\n", "- 에너지 보전 ($\\delta q = de + \\delta w$)\n", "\n", "유체역학 (공기역학)에서는 운동을 Eulerian 관점에서 기술하고, Control Volume 개념을 도입하여 위 보존 방정식을 기술한다.\n", "\n", "### Reynolds Transport Theorem\n", "\n", "- 유동장 내 임의의 고정된 형상을 Control Volume으로 고려할 때\n", "\n", " - $B$: fluid property (momentum, energy...)\n", " * $\\beta$: intensive value\n", " * $B_{CV}=\\iiint_{CV}\\beta\\rho dV, \\beta=\\frac{dB}{dm}$\n", " - Control Volume 내 변화량 : $\\frac{d}{dt}B_{CV}=\\frac{d}{dt}\\iiint_{CV}\\beta\\rho dV$\n", " - Control Volune 에 in/out 량 : $\\iint_{S}\\beta\\rho\\mathbf{V}\\cdot\\mathbf{dS}=\\iint_{S}\\beta d\\dot{m}$\n", "\n", "\n", ":::{figure-md} Reynolds_transport\n", "\n", "\n", "Reynolds Transport Theorem (Wikimedia)\n", ":::\n", "\n", "- System (특정 유동 입자들)에서 변화량\n", "\n", " - $\\frac{d}{dt}B_{sys}=\\frac{d}{dt}\\iiint_{CV}\\beta\\rho dV+\\iint_{S}\\beta\\rho\\mathbf{V}\\cdot\\mathbf{dS}=\\iint_{S}\\beta d\\dot{m}$\n", "\n", " - 질량 보전 : $B=m, \\beta=1$\n", "\n", " - 운동량 보전 : $B=mV, \\beta=V$\n", "\n", " - 에너지 보전 : $B=me_{t}, \\beta=e_{t}=e+\\frac{1}{2}V^{2}$\n", "\n", "### 비점성 유동 지배방정식\n", "- 질량 보전 법칙 ($dm=0$)\n", "\n", "$$\n", "\\\\\\frac{\\partial}{\\partial t}\\iiint_{V}\\rho dV+\\iint_{S}\\rho\\mathbf{V}\\cdot\\mathbf{dS}=0.\n", "$$\n", "\n", "$$\n", "\\frac{\\partial\\rho}{\\partial t}+\\nabla\\cdot(\\rho\\mathbf{V})=0.\n", "$$\n", "\n", "- 운동량 보전 법칙 ($F=ma$)\n", "\n", "$$\n", "\\frac{\\partial}{\\partial t}\\iiint_{V}\\rho\\mathbf{V}dV+\\iint_{S}(\\rho\\mathbf{V}\\cdot\\mathbf{dS})\\mathbf{V}=-\\iint_{S}p\\mathbf{dS}\n", "$$\n", "\n", "$$\n", "\\frac{\\partial(\\rho u)}{\\partial t}+\\nabla\\cdot(\\rho u\\mathbf{V})=-\\frac{\\partial p}{\\partial x} \\\\ \n", "\\frac{\\partial(\\rho v)}{\\partial t}+\\nabla\\cdot(\\rho v\\mathbf{V})=-\\frac{\\partial p}{\\partial y}\n", "$$\n", "\n", "- 에너지 보전 법칙 ($\\delta q+\\delta w=de$)\n", "\n", "$$\n", "\\frac{\\partial}{\\partial t}\\iiint_{V}\\rho e_{t}dV+\\iint_{S}\\rho e_{t}\\mathbf{V}\\cdot\\mathbf{dS}=-\\iint_{S}(p\\mathbf{V}\\cdot\\mathbf{dS})+\\iiint\\dot{q}\\rho dV\n", "$$\n", "\n", "$$\n", "\\frac{\\partial}{\\partial t}\\left[\\rho\\left(e+\\frac{V^{2}}{2}\\right)\\right]+\\nabla\\cdot\\left[\\rho\\left(e+\\frac{V^{2}}{2}\\right)\\mathbf{V}\\right]=-\\nabla\\cdot(p\\mathbf{V})\n", "$$\n", "\n", "- 2차원 Euler Equation\n", "\n", "$$\n", "\\frac{\\partial U}{\\partial t} + \\frac{\\partial F(U)}{\\partial x} + \\frac{\\partial G(U)}{\\partial y} = 0.\n", "$$\n", "\n", "$$\n", "U = \\left [\n", "\\begin{matrix}\n", "\\rho \\\\ \\rho u \\\\ \\rho v \\\\ \\rho e_t\n", "\\end{matrix}\n", "\\right ],\n", "F = \\left [\n", "\\begin{matrix}\n", "\\rho u \\\\ \\rho u^2 + p \\\\ \\rho u v \\\\ \\rho u h_t\n", "\\end{matrix}\n", "\\right ],\n", "G = \\left [\n", "\\begin{matrix}\n", "\\rho v \\\\ \\rho uv \\\\ \\rho v^2 + p \\\\ \\rho u h_t\n", "\\end{matrix}\n", "\\right ]\n", "$$\n", "\n", "여기서\n", "\n", "$$\n", "e_t = e + \\frac{\\mathbf{V}^2}{2}, h_t = e_t + \\frac{p}{\\rho}.\n", "$$\n", "\n", "미지수는 $\\rho, \\mathbf{V}, p, e$ 이므로 방정식 개수보다 많다. 상태 방정식을 이용해야 한다.\n", "\n", "#### 이상기체 상태 방정식\n", "- $p=\\rho R T$, $R=\\Re/M_{air}=287J/(Kg\\cdot K)$\n", "\n", ":::{figure-md} Ideal Gas EOS\n", "\n", "\n", "Equation of State for ideal Gas (Wikimedia)\n", ":::\n", "\n", "- $e = c_v T$, $c_v = \\frac{1}{\\gamma-1} R$\n", "- 위 두식으로 부터 다음 관계를 좀 더 많이 활용한다.\n", " * $e = \\frac{p}{\\rho (\\gamma-1)}$\n", " \n", " \n", "### 비압축성 유동 지배방정식\n", "- 비압축성 유동에서는 밀도가 거의 변하지 않아 일정하다.\n", "\n", "$$\n", "\\begin{align}\n", "\\frac{\\partial}{\\partial t}+\\nabla\\cdot(\\mathbf{V})=0. \\\\\n", "\\frac{\\partial(u)}{\\partial t}+\\nabla\\cdot(u\\mathbf{V})=-\\frac{1}{\\rho}\\frac{\\partial p}{\\partial x} \\\\ \n", "\\frac{\\partial(v)}{\\partial t}+\\nabla\\cdot(v\\mathbf{V})=-\\frac{1}{\\rho}\\frac{\\partial p}{\\partial y}\n", "\\end{align}\n", "$$\n", "\n", "- 운동량 보전 방정식, 비회전류 가정시\n", " \n", "$$\n", "p+\\frac{1}{2}\\rho V^{2}=const.\n", "$$\n", "\n", "- Velocity Potential 을 이용하면 질량 보전식은 다음과 같이 Laplace Equation으로 정리된다.\n", "\n", "$$\n", "\\phi_{xx} + \\phi_{yy} = 0, \\mathbf{V} = \\nabla \\phi.\n", "$$" ] }, { "cell_type": "markdown", "id": "fa669183", "metadata": {}, "source": [ "## Types of Partial Differential Equation\n", "### 물리적 구분\n", "#### Equilibrium Problem\n", "- 경계 조건에 의해 해가 결정되는 문제\n", "- Steady-state temperature distribution, incompressible inviscid flow, equilibrium stress in solid\n", "\n", ":::{figure-md} Steady_Airfoil\n", "\n", "\n", "Steady flow around airfoil (Wikimedia)\n", ":::\n", "\n", "#### Marching Problem\n", "- 초기 조건과 경계 조건에 의해 결정되는 문제\n", "- 파동의 전파\n", "\n", ":::{figure-md} Karman_Vortex\n", "\n", "\n", "Karman vortex shedding (Wikimedia)\n", ":::\n", "\n", "### 수학적 구분\n", "- Characteristics\n", " * 물성치가 일정하거나, 그 미분 값이 불연속 적인 선 또는 면\n", " * 정보가 전파되는 방향\n", " \n", ":::{figure-md} Shock_Wave\n", "\n", "\n", "Shock Wave Pattern (Wikimedia)\n", "::: \n", "\n", "- 2계 미분 방정식\n", "\n", " $$\n", " a \\phi_{xx} + b \\phi_{xy} + c \\phi_{yy} = H(\\phi, \\phi_x, \\phi_y)\n", " $$\n", " \n", " * Curve C를 따라서 2차 미분이 연속적이지 않을 때, Parameter $\\tau$로 표시하면, $(x(\\tau), y(\\tau))$\n", " \n", " $$\n", " \\phi_x = p(\\tau), \\phi_y = q(\\tau) \\\\\n", " \\phi_{xx} = u(\\tau), \\phi_{xy} = v(\\tau), \\phi_{yy} = w(\\tau)\n", " $$\n", " \n", " * 미분 방정식은 다음과 같다.\n", " \n", " $$\n", " a u(\\tau) + b v(\\tau) + c w(\\tau) = H(\\tau) \\\\\n", " \\frac{dp}{d\\tau} = u \\frac{dx}{d\\tau} + v \\frac{dy}{d\\tau} \\\\\n", " \\frac{dq}{d\\tau} = v \\frac{dx}{d\\tau} + w \\frac{dy}{d\\tau} \\\\\n", " $$\n", " \n", " * 다음 행렬의 고유치에 따라 특성곡선이 존재할 수 있다.\n", " \n", " $$\n", " \\left [\n", " \\begin{array}{ccc}\n", " a & b & c \\\\\n", " \\frac{dx}{d\\tau} & \\frac{dy}{d\\tau} & 0 \\\\\n", " 0 & \\frac{dx}{d\\tau} & \\frac{dy}{d\\tau}\n", " \\end{array}\n", " \\right ]\n", " \\left [\n", " \\begin{array}{c}\n", " u \\\\\n", " v \\\\\n", " w\n", " \\end{array}\n", " \\right ]\n", " =\n", " \\left [\n", " \\begin{array}{c}\n", " H \\\\\n", " -\\frac{dp}{d\\tau} \\\\\n", " \\frac{dq}{d\\tau}\n", " \\end{array}\n", " \\right ]\n", " $$\n", "\n", " * 특성곡선 $dy/dx$\n", " \n", " $$\n", " a \\frac{d^2y}{dx^2} - b \\frac{dy}{dx} + c =0\n", " $$\n", " \n", " * $b^2 - 4ac > 0$: 특성 곡선 2개\n", " * $b^2 - 4ac = 0$: 특성 곡선 1개\n", " * $b^2 - 4ac < 0$: 특성 곡선 없음 \n", " \n", "#### Hyperbolic PDE\n", "- 서로 다른 Charateristics 가 존재함\n", "- 정보의 전파가 제한됨\n", "- 파동 방정식 ($u_{tt} - c^2 u_{xx} = 0)$, 초음속 비점성 유동\n", " * $F(x+ct)$, $F(x-ct)$\n", " \n", ":::{figure-md} hyperbolic\n", "\n", "\n", "Two characteristics of hyperbolic PDE (Wikimedia)\n", "::: \n", "\n", "#### Parabolic PDE\n", "- 중첩된 Characteristics 가 존재함\n", "- 이전 영역에서 모든 정보가 다음 시간의 해에 영향을 줌\n", "- Diffusion equation, Heat condcution problem ($u_t = \\nu u_{yy}$)\n", " * 경계층 유동 문제 (Blasius Solution): ODE 로 변환 가능\n", " \n", "#### Elliptic PDE\n", "- Charateristics 가 존재하지 않음 (허수임)\n", "- 모든 방향으로 정보가 전파함\n", "- Laplace Equation (Steady, incompressible, inviscid flow)\n", "\n", "### Well-posed vs ill-posed probem\n", "- 초기 및 경계 조건이 적절히 주어져야 PDE를 해석할 수 있음\n", "\n", "### Linear vs Non-linear\n", "- 변수와 그의 미분이 선형으로 구성 (곱, 제곱 항이 없음)\n", "\n", "## Some Model Equations\n", "### 선형 파동 방정식\n", "- Marching problem, 선형 Hyperbolic Equation\n", "\n", "$$\n", "u_t + a u_x = 0.\n", "$$\n", "\n", "### Burgers 방정식\n", "- Marching problem, 비선형 Hyperbolic Equation\n", "\n", "$$\n", "u_t + f_x = 0, f = \\frac{1}{2} u^2.\n", "$$\n", "\n", "### Laplace 방정식\n", "- Equilibrium Problem, Elliptic PDE\n", "\n", "$$\n", "u_{xx} + u_{yy} = 0.\n", "$$" ] }, { "cell_type": "code", "execution_count": null, "id": "a99e2be8", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.2" } }, "nbformat": 4, "nbformat_minor": 5 }